// <reference path="typings/node/node.d.ts"/>
//文件流操作-同步
// var fs =require("fs");
// var data=fs.readFileSync("README.md");
// console.log(data.toString());
//文件流操作-异步

// var data1=fs.readFile("README.md",function(err,data){
//         console.log(err);
//         console.log(data.toString());
// })

//事件机制-跟winform委托啥的没什么不同 so easy
// var events=require("events");
// var eventEmitter=new events.EventEmitter();
// eventEmitter.on("click",function(flag){
//     console.log(flag);
// });
// eventEmitter.emit("click","first");
// eventEmitter.emit("click","second");

//以上是多次执行事件
//eventEmitter.once

//stream操作

// var fs=require("fs");
// var data='';
// var readerStream=fs.createReadStream("README.md");
// readerStream.setEncoding('UTF-8');
// readerStream.on("data",function(chunk){
//     data+=chunk;
//     console.log(chunk+"--");
// });
// readerStream.on("end",function () {
//     console.log(data);
//     readerStream.on("error",function (error) {
//         console.log(error);
//     })
// });

//管道流操作
// var fs=require("fs");
// var readerStream=fs.createReadStream('README.md');
// var writeStream=fs.createWriteStream('README1.md');

// //管道读写操作
// readerStream.pipe(writeStream);

//链式流
// var fs=require("fs");
// var zlib=require("zlib");
// fs.createReadStream('README.md')
// .pipe(zlib.createGzip())
// .pipe(fs.createWriteStream("README.md.gz"));
// console.log("执行完成");

//-----模块化
var hello=require("./hello");
hello.world();
//其实导入的就是这个函数本身，所以如果采用hello2的方式需要new了才能使用
var Hello2=require("./Hello2");
var hello2=new Hello2();
hello2.del(1);


